package pe.edu.upla.lamerced.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import pe.edu.upla.lamerced.DAO.HabitacionDAO;
import pe.edu.upla.lamerced.bean.Habitacion;
import pe.edu.upla.lamerced.bean.Tipohabitacion;
import pe.edu.upla.lamerced.service.HabitacionService;

@Service
public class HabitacionServiceImpl implements HabitacionService {

	@Autowired
	HabitacionDAO habitacionDAO;
	
	@Override
	public void eliminarHabitacion(Habitacion habitacion) {
		habitacionDAO.eliminarHabitacion(habitacion);
	}

	@Override
	public List<Habitacion> listaHabitaciones() {
		return habitacionDAO.listaHabitaciones();
	}

	@Override
	public List<Habitacion> listaHabitaciones(Habitacion habitacion) {
		return habitacionDAO.listaHabitaciones(habitacion);
	}

	@Override
	public void modificarHabitacion(Habitacion habitacion) {
		habitacionDAO.modificarHabitacion(habitacion);
	}

	@Override
	public void registrarHabitacion(Habitacion habitacion) {
		habitacionDAO.registrarHabitacion(habitacion);
	}

	@Override
	public Habitacion obtenerHabitacion(Integer idhabitacion) {
		return habitacionDAO.obtenerHabitacion(idhabitacion);
	}

	@Override
	public List<Tipohabitacion> listaTipoHabitacion() {
		return habitacionDAO.listaTipoHabitacion();
	}

	@Override
	public Tipohabitacion obtenerTipoHabitacion(Integer idtipoHabitacion) {
		return habitacionDAO.obtenerTipoHabitacion(idtipoHabitacion);
	}

	@Override
	@Transactional(propagation=Propagation.REQUIRES_NEW)
	public void registrarTipoHabitacion(Tipohabitacion th) {
		 habitacionDAO.registrarTipoHabitacion(th);
	}

}
